package cn.demoncat.util.fastdfs;

import cn.demoncat.util.exception.ParamRuntimeException;
import cn.demoncat.util.lang.constant.StringConstant;

/**
 * 文件名工具
 * 
 * @author 延晓磊
 *
 * @since 2018年5月29日
 */
public class FdNameUtil {

	/**
	 * 分离分组和文件名
	 * 
	 * @param fileFullName
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2018年5月29日
	 */
	public static String[] splitFileName(String fileFullName) {
		String[] fileName =  fileFullName.split(StringConstant.SEPARATOR,2);
		if (fileName.length != 2) {
			throw new ParamRuntimeException("文件名错误");
		}
		return fileName;
	}
	
	/**
	 * 合并文件名
	 * 
	 * @param fileName
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2018年5月29日
	 */
	public static String mergeFileName(String[] fileName) {
		if (fileName != null && fileName.length==2) {
			return fileName[0]+StringConstant.SEPARATOR+fileName[1];
		}
		return null;
	}
	
	/**
	 * 合并文件名
	 * 
	 * @param fileName
	 * @return
	 * 
	 * @author 延晓磊
	 *
	 * @since 2018年5月29日
	 */
	public static String mergeFileName(String groupName,String fileName) {
		return groupName+StringConstant.SEPARATOR+fileName;
	}
	
	/**
	 * 初始化文件路径参数
	 *
	 * @param filePath		文件路径
	 * 
	 * @return 文件路径：去除前缀/
	 * 
	 * @author 延晓磊
	 *
	 * @since 2017年5月28日
	 */
	public static String initFilePath(String filePath) {
		// 去除前缀/
		if (filePath.startsWith(StringConstant.SEPARATOR)) {
			if (filePath.length() > 1) {
				filePath = filePath.substring(1);
			}else {
				filePath = StringConstant.EMPTY;
			}
		}
		return filePath;
	}
}
